# -*- coding: utf-8 -*-

from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
from django.db import connection

import json

'''
	Функция к которой по средствам POST запросов обращается комбобокс выбора субъекта федерации.
	В качестве параметра присылается id узла, который необходимо раскрыть, соответсвенно мы отправляем обратно всех детишек данного узла,
	с одним ньюансом, о том что дереву необходимо знать смогут ли его ветки раскрывать дальше или нет, для этого
	у всех узлов у которых есть дети отправляем с параметром closed а для тех у кого детей нету с параметро opened
'''
@csrf_exempt
def loadTree(request):
	parrent_id = 0
	if 'id' in request.POST:
		parrent_id = request.POST['id']
	resultResponse = []
	cursor = connection.cursor()
	query = """SELECT id, name, 'closed'
from mysite.territory 
where id in(SELECT parent_id FROM mysite.territory) and parent_id = %s
union
SELECT id, name, 'opened'
from mysite.territory 
where id not in(SELECT parent_id FROM mysite.territory)  and parent_id = %s""" % (parrent_id, parrent_id)
	cursor.execute(query)
	for row in cursor.fetchall():
		resultResponse.append({ "id" : row[0], "text" : row[1], "state" : row[2]})

	return HttpResponse(json.dumps(resultResponse))